package it.azienda.managerworkstandard.modello;

import it.azienda.framework.modello.BeanBase;
import it.azienda.framework.persistenza.DAOConnectionSingleton;
import it.azienda.framework.persistenza.DAOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import javax.faces.model.SelectItem;
import org.hibernate.Query;
import org.hibernate.Session;

public class BeanScontrino extends BeanBase{
    
    public BeanScontrino() {
        this.beanProdottoDettLookup=new BeanProdottoDett();
        this.imponibile=new Double(0);
        this.sconto=new Double(0);
        this.iva=new Double(0);
        this.totale=new Double(0);
        this.prezzoVenditaProdDett=new Double(0);
        this.prezzoFinaleProdDett=new Double(0);
        this.prezzoIvaProdDett=new Double(0);
        this.prezzoScontato=new Double(0);
        this.ivaProdDett=new Double(0);
        this.quantitaProdDett=new Double(0);
        this.scontoProdDett=new Double(0);
        this.numProdotti=new Integer(0);
        this.ora=new Integer(0);
        this.minuti=new Integer(0);
        this.numero=new Integer(0);
        this.data=new Date(System.currentTimeMillis());
        this.impostaIva4=new Double(0);
        this.impostaIva10=new Double(0);
        this.impostaIva20=new Double(0);
        this.impostaIva21=new Double(0);
        this.impostaIva22=new Double(0);

        this.imponIva4=new Double(0);
        this.imponIva10=new Double(0);
        this.imponIva20=new Double(0);
        this.imponIva21=new Double(0);
        this.imponIva22=new Double(0);

        this.utile=new Double(0);
        this.prezzoAcquistoUtile=new Double(0);
    }
    
    //Dati Scontrino
    private Integer id;
    private Integer numero;
    private Integer numProdotti;
    private java.util.Date data;
    private String note;
    private Double imponibile;
    private Double sconto;
    private Double iva;
    private Double totale;
    private Double netto;
    private Double totaleMerce;
    private Integer ora;
    private Integer minuti;
    private Double impostaIva4;
    private Double impostaIva10;
    private Double impostaIva20;
    private Double impostaIva21;
    
    private Double impostaIva22;
    private Double imponIva4;
    private Double imponIva10;
    private Double imponIva20;
    private Double imponIva21;
    
    private Double imponIva22;
    private Double utile;
    private Double prezzoScontato;
    
    //Dati Prodotto
    private BeanProdottoDett beanProdottoDett = new BeanProdottoDett();
    private BeanProdottoDett beanProdottoDettLookup = new BeanProdottoDett();
    private java.lang.Integer idProdottoDett;
    private SelectItem[] listaProdottoDett;
    private ArrayList listaProdotti;
    private ArrayList listaProdottiLookup;
    private String codiceProdDett;
    private String descProdDett;
    private String barCodeProdDett;
    private Double prezzoVenditaProdDett;
    private Double prezzoFinaleProdDett;
    private Double ivaProdDett;
    private Integer umProdDett;
    private Double quantitaProdDett;
    private Double scontoProdDett;
    private Double prezzoIvaProdDett;
    private Double prezzoAcquistoUtile;
    private Integer idProdotto;
    
    private Set scontrinoDet = new HashSet();
    
    private SelectItem[] ordinamento;
    
    public SelectItem[] getOrdinamento() {
        ordinamento = new SelectItem[4];
        ordinamento[0] = new SelectItem("", "");
        ordinamento[1] = new SelectItem("numero", "Numero");
        ordinamento[2] = new SelectItem("data", "Data");
        ordinamento[3] = new SelectItem("totale", "Importo");
        return ordinamento;
    }
    
    public void setOrdinamento(SelectItem[] ordinamento) {
        this.ordinamento = ordinamento;
    }
    
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public Integer getNumero() {
        return numero;
    }
    
    public void setNumero(Integer numero) {
        this.numero = numero;
    }
    
    public java.util.Date getData() {
        return data;
    }
    
    public void setData(java.util.Date data) {
        this.data = data;
    }
    
    public String getNote() {
        return note;
    }
    
    public void setNote(String note) {
        this.note = note;
    }
    
    public Double getImponibile() {
        return imponibile;
    }
    
    public void setImponibile(Double imponibile) {
        this.imponibile = imponibile;
    }
    
    public Double getSconto() {
        return sconto;
    }
    
    public void setSconto(Double sconto) {
        this.sconto = sconto;
    }
    
    public Double getIva() {
        return iva;
    }
    
    public void setIva(Double iva) {
        this.iva = iva;
    }
    
    public Double getTotale() {
        return totale;
    }
    
    public void setTotale(Double totale) {
        this.totale = totale;
    }
    
    public Double getNetto() {
        return netto;
    }
    
    public void setNetto(Double netto) {
        this.netto = netto;
    }
    
    public Double getTotaleMerce() {
        return totaleMerce;
    }
    
    public void setTotaleMerce(Double totaleMerce) {
        this.totaleMerce = totaleMerce;
    }
    
    public Integer getOra() {
        return ora;
    }
    
    public void setOra(Integer ora) {
        this.ora = ora;
    }
    
    public Integer getMinuti() {
        return minuti;
    }
    
    public void setMinuti(Integer minuti) {
        this.minuti = minuti;
    }
    
    public BeanProdottoDett getBeanProdottoDett() {
        return beanProdottoDett;
    }
    
    public void setBeanProdottoDett(BeanProdottoDett beanProdottoDett) {
        this.beanProdottoDett = beanProdottoDett;
    }
    
    public BeanProdottoDett getBeanProdottoDettLookup() {
        return beanProdottoDettLookup;
    }
    
    public void setBeanProdottoDettLookup(BeanProdottoDett beanProdottoDettLookup) {
        this.beanProdottoDettLookup = beanProdottoDettLookup;
    }
    
    public SelectItem[] getListaProdottoDett() {
        Session nuovaSessione = null;
        if(this.listaProdottiLookup!=null){
            
            listaProdottoDett = new SelectItem[this.listaProdottiLookup.size()];
            BeanProdottoDett item = new BeanProdottoDett();
            listaProdottoDett = new SelectItem[this.listaProdottiLookup.size()+1];
            listaProdottoDett[0] =  new SelectItem("","");
            for(int i=0; i<this.listaProdottiLookup.size(); i++) {
                item = (BeanProdottoDett)this.listaProdottiLookup.get(i);
                listaProdottoDett[i+1] = new SelectItem(item.getId().toString(),item.getCodice()+" - "+item.getDescrizioneBreve());
            }
        }
        if(listaProdottoDett==null){
            listaProdottoDett = new SelectItem[1];
            listaProdottoDett[0] = new SelectItem("", "");
        }
        
        return listaProdottoDett;
    }
    
    public void setListaProdottoDett(SelectItem[] listaProdottoDett) {
        this.listaProdottoDett = listaProdottoDett;
    }
    
    public Integer getIdProdottoDett() {
        Integer ritorno = null;
        if (this.getBeanProdottoDett() != null) {
            ritorno = this.getBeanProdottoDett().getId();
        }
        return ritorno;
    }
    
    public void setIdProdottoDett(Integer idProdottoDett) {
        this.idProdottoDett = idProdottoDett;
        BeanProdottoDett beanProdottoDett = null;
        if (idProdottoDett != null) {
            beanProdottoDett = new BeanProdottoDett();
            try {
                beanProdottoDett = (BeanProdottoDett)beanProdottoDett.dettaglio(idProdottoDett);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        this.setBeanProdottoDett(beanProdottoDett);
    }
    
    public ArrayList getListaProdotti() {
        return listaProdotti;
    }
    
    public void setListaProdotti(ArrayList listaProdotti) {
        this.listaProdotti = listaProdotti;
    }
    
    public ArrayList getListaProdottiLookup() {
        return listaProdottiLookup;
    }
    
    public void setListaProdottiLookup(ArrayList listaProdottiLookup) {
        this.listaProdottiLookup = listaProdottiLookup;
    }
    
    public String getCodiceProdDett() {
        return codiceProdDett;
    }
    
    public void setCodiceProdDett(String codiceProdDett) {
        this.codiceProdDett = codiceProdDett;
    }
    
    public String getDescProdDett() {
        return descProdDett;
    }
    
    public void setDescProdDett(String descProdDett) {
        this.descProdDett = descProdDett;
    }
    
    public String getBarCodeProdDett() {
        return barCodeProdDett;
    }
    
    public void setBarCodeProdDett(String barCodeProdDett) {
        this.barCodeProdDett = barCodeProdDett;
    }
    
    public Double getPrezzoVenditaProdDett() {
        return prezzoVenditaProdDett;
    }
    
    public void setPrezzoVenditaProdDett(Double prezzoVenditaProdDett) {
        this.prezzoVenditaProdDett = prezzoVenditaProdDett;
    }
    
    public Double getPrezzoFinaleProdDett() {
        return prezzoFinaleProdDett;
    }
    
    public void setPrezzoFinaleProdDett(Double prezzoFinaleProdDett) {
        this.prezzoFinaleProdDett = prezzoFinaleProdDett;
    }
    
    public Double getIvaProdDett() {
        return ivaProdDett;
    }
    
    public void setIvaProdDett(Double ivaProdDett) {
        this.ivaProdDett = ivaProdDett;
    }
    
    public Integer getUmProdDett() {
        return umProdDett;
    }
    
    public void setUmProdDett(Integer umProdDett) {
        this.umProdDett = umProdDett;
    }
    
    public Double getQuantitaProdDett() {
        return quantitaProdDett;
    }
    
    public void setQuantitaProdDett(Double quantitaProdDett) {
        this.quantitaProdDett = quantitaProdDett;
    }
    
    public Double getScontoProdDett() {
        return scontoProdDett;
    }
    
    public void setScontoProdDett(Double scontoProdDett) {
        this.scontoProdDett = scontoProdDett;
    }
    
    public Double getPrezzoIvaProdDett() {
        return prezzoIvaProdDett;
    }
    
    public void setPrezzoIvaProdDett(Double prezzoIvaProdDett) {
        this.prezzoIvaProdDett = prezzoIvaProdDett;
    }
    
    public Integer getIdProdotto() {
        return idProdotto;
    }
    
    public void setIdProdotto(Integer idProdotto) {
        this.idProdotto = idProdotto;
    }
    
    public Set getScontrinoDet() {
        return scontrinoDet;
    }
    
    public void setScontrinoDet(Set scontrinoDet) {
        this.scontrinoDet = scontrinoDet;
    }
    
    public Integer getNumProdotti() {
        return numProdotti;
    }
    
    public void setNumProdotti(Integer numProdotti) {
        this.numProdotti = numProdotti;
    }
    
    public Double getImpostaIva4() {
        return impostaIva4;
    }
    
    public void setImpostaIva4(Double impostaIva4) {
        this.impostaIva4 = impostaIva4;
    }
    
    public Double getImpostaIva10() {
        return impostaIva10;
    }
    
    public void setImpostaIva10(Double impostaIva10) {
        this.impostaIva10 = impostaIva10;
    }
    
    public Double getImpostaIva20() {
        return impostaIva20;
    }
    
    public void setImpostaIva20(Double impostaIva20) {
        this.impostaIva20 = impostaIva20;
    }
    
    public Double getImponIva4() {
        return imponIva4;
    }
    
    public void setImponIva4(Double imponIva4) {
        this.imponIva4 = imponIva4;
    }
    
    public Double getImponIva10() {
        return imponIva10;
    }
    
    public void setImponIva10(Double imponIva10) {
        this.imponIva10 = imponIva10;
    }
    
    public Double getImponIva20() {
        return imponIva20;
    }
    
    public void setImponIva20(Double imponIva20) {
        this.imponIva20 = imponIva20;
    }
    
    public Double getUtile() {
        return utile;
    }
    
    public void setUtile(Double utile) {
        this.utile = utile;
    }
    
    public Double getPrezzoAcquistoUtile() {
        return prezzoAcquistoUtile;
    }
    
    public void setPrezzoAcquistoUtile(Double prezzoAcquistoUtile) {
        this.prezzoAcquistoUtile = prezzoAcquistoUtile;
    }
    
    public Double getPrezzoScontato() {
        return prezzoScontato;
    }
    
    public void setPrezzoScontato(Double prezzoScontato) {
        this.prezzoScontato = prezzoScontato;
    }
    
    public Double getImpostaIva21() {
        return impostaIva21;
    }
    
    public void setImpostaIva21(Double impostaIva21) {
        this.impostaIva21 = impostaIva21;
    }
    
    public Double getImponIva21() {
        return imponIva21;
    }
    
    public void setImponIva21(Double imponIva21) {
        this.imponIva21 = imponIva21;
    }
    public Double getImpostaIva22() {
        return impostaIva22;
    }

    public void setImpostaIva22(Double impostaIva22) {
        this.impostaIva22 = impostaIva22;
    }

    public Double getImponIva22() {
        return imponIva22;
    }

    public void setImponIva22(Double imponIva22) {
        this.imponIva22 = imponIva22;
    }
}
